Web browsing applications commonly present data to users in a list view. For example, pages of data that can be viewed by scrolling up or down using various controls such as a keyboard, a mouse, and the like. The viewable data may include text, graphics, combination of the two, etc. and may be formatted in actual list form (tables, bulleted items, and so on) or in free form. In either case, the web browsing application may present an arbitrarily large list of items to a user.
In a practical environment, the web application may attempt to download the whole data upon selection of a link to the data by the user before presenting it in its user interface. This approach may be infeasible by causing unacceptable delays in presentation of data to the user if the data is large, available bandwidth is small, or other system resources cause limitation in the downloading of the data from a web server. Another alternative approach is downloading the data in groups and updating the user interface as data is downloaded. However, this approach may also result in “clunkiness” in the system, where the presented webpage may show up in pieces, delays may annoy the user, and the system resources may be unnecessarily occupied with downloading the whole data when the user may be interested only in a particular piece of it.